#!/usr/bin/env python3
"""
MasterFuzzer 使用示例

展示如何使用 MasterFuzzer 的独立进程管理功能
"""

from Fuzzer import MasterFuzzer
import time

def main():
    # 创建 MasterFuzzer 实例
    master = MasterFuzzer("configs/openssl_paral.json")
    
    print("=== MasterFuzzer 独立进程管理示例 ===")
    
    # 1. 启动所有slave fuzzer进程（普通模式）
    print("\n1. 启动普通slave进程...")
    master.start_slaves()
    
    # 查看进程状态
    status = master.get_slave_status()
    print(f"进程状态: {status}")
    
    # 等待一段时间
    print("等待5秒...")
    time.sleep(5)
    
    # 停止所有进程
    print("\n2. 停止所有进程...")
    master.stop_slaves()
    
    # 2. 启动完全独立的slave fuzzer进程
    print("\n3. 启动完全独立的slave进程...")
    master.start_slaves_detached()
    
    # 查看进程状态
    status = master.get_slave_status()
    print(f"独立进程状态: {status}")
    
    # 等待一段时间
    print("等待5秒...")
    time.sleep(5)
    
    # 停止所有进程
    print("\n4. 停止所有独立进程...")
    master.stop_slaves()
    
    print("\n=== 示例完成 ===")

if __name__ == "__main__":
    main()
